Method and apparatus for controlling sharing of selected content between a portable communication device and a target device

ABSTRACT

A method performed by a portable communication device includes determining a list of at least one target device in proximity to the portable communication device. The method further includes receiving a set of non-tactile user commands that indicates selected content and a selected set of target devices on the list and controlling sharing of the selected content between the portable communication device and the selected set of target devices.

RELATED APPLICATIONS

The present application is related to and claims benefit under 35 U.S.C.§119(e) from U.S. Provisional Patent Application Ser. No. 62/186,467,filed Jun. 30, 2015 titled “Method and Apparatus for Controlling Playingof Selected Content between a Portable Communication Device and a TargetDevice” (attorney docket no. MM01272), which is commonly owned with thisapplication by Motorola Mobility LLC, the entire contents of which areincorporated herein by reference.

FIELD OF THE DISCLOSURE

The present disclosure relates to content sharing and more particularlyto controlling the sharing of selected content between a portablecommunication device and a target device.

BACKGROUND

Portable communication devices are being increasingly used to sharecontent such as video clips, pictures, and the like. For example,multiple users can share content over direct connections between theirrespective communication devices when the user providing the content andthe one or more users receiving the content input coordinating tactilegestures on their devices. This mechanism enables some ease in sharingcontent between devices but is not useful in sharing content when, forexample, one or more of the devices involved in the content sharing isnot capable of receiving tactile input or is not operated by a user tofacilitate the content sharing.

BRIEF DESCRIPTION OF THE FIGURES

The accompanying figures, where like reference numerals refer toidentical or functionally similar elements throughout the separateviews, together with the detailed description below, are incorporated inand form part of the specification, and serve to further illustrateembodiments of concepts that include the claimed embodiments, andexplain various principles and advantages of those embodiments.

FIG. 1 is a schematic diagram illustrating an environment within whichmay be implemented embodiments of methods and devices for controllingsharing of selected content between a portable communication device anda selected target device.

FIG. 2 illustrates a block diagram of internal hardware components of aportable communication device configured in accordance with anembodiment.

FIG. 3 is a flow diagram illustrating an embodiment of a method forcontrolling sharing of selected content between a portable communicationdevice and a selected target device.

FIG. 4 is a schematic diagram illustrating an environment including alocation area within which may be implemented embodiments of methods anddevices for controlling sharing of selected content between a portablecommunication device and a plurality of selected target devices.

FIG. 5 is a flow diagram illustrating an embodiment of a method forcreating a spatial map of relative location and orientation between aportable communication device and each target device on a list.

FIG. 6 is a message sequence diagram illustrating an embodiment forcontrolling the sharing and playing of selected content between aportable communication and a selected target device.

FIG. 7 is a message sequence diagram illustrating an embodiment forcontrolling the sharing and playing of selected content between aportable communication and a selected target device.

FIG. 8 is a message sequence diagram illustrating an embodiment forcontrolling the sharing and playing of selected content between aportable communication device and a selected target device.

FIG. 9 is a message sequence diagram illustrating an embodiment forcontrolling the sharing and playing of selected content between aportable communication device and a selected target device.

FIG. 10 is a message sequence diagram illustrating an embodiment forcontrolling the sharing and playing of selected content between aportable communication device and a selected target device.

FIG. 11 is a message sequence diagram illustrating an embodiment forcontrolling the sharing and playing of selected content between aportable communication device and a selected target device.

FIG. 12 is a message sequence diagram illustrating an embodiment forcontrolling the sharing and playing of selected content between aportable communication device and multiple selected target devices.

Skilled artisans will appreciate that elements in the figures areillustrated for simplicity and clarity and have not necessarily beendrawn to scale. For example, the dimensions of some of the elements inthe figures may be exaggerated relative to other elements to helpimprove understanding of embodiments of the present disclosure. Inaddition, the description and drawings do not necessarily require theorder illustrated. It will be further appreciated that certain actionsand/or steps may be described or depicted in a particular order ofoccurrence while those skilled in the art will understand that suchspecificity with respect to sequence is not actually required.

The apparatus and method components have been represented whereappropriate by conventional symbols in the drawings, showing only thosespecific details that are pertinent to understanding the embodiments ofthe present disclosure so as not to obscure the disclosure with detailsthat will be readily apparent to those of ordinary skill in the arthaving the benefit of the description herein.

DETAILED DESCRIPTION

Generally speaking, pursuant to the various embodiments disclosed hereinis a method performed by a portable communication device that includesdetermining a list of at least one target device in proximity to theportable communication device. The method further includes receiving aset of non-tactile user commands that indicates selected content and aselected set of target devices on the list and controlling sharing ofthe selected content between the portable communication device and theselected set of target devices. For an example, controlling the sharingof the selected content between the portable communication device andthe selected set of target devices includes controlling the playing ofthe selected content between the portable communication device and theselected set of target devices.

In another embodiment, a portable communication device includes an inputcomponent, a voice processing module, a sensor hub, and a processor. Theinput component and the voice processing module are coupled together toreceive an utterance and to detect a voice command from the utterance.The sensor hub is to detect a spatial gesture. The processor is coupledto the voice processing module and the sensor hub. The processor is to:determine a list of at least one target device in proximity to theportable communication device; determine, from the voice command, thespatial gesture, or both, selected content and a selected set of targetdevices; and control sharing of the selected content between theportable communication device and the selected set of target devices.

FIG. 1 shows a user 106 controlling a portable communication device 102to communicate with a selected target device 104. As shown, the targetdevice 104 is a monitor embedded in a seat 116, such as a seat in a caror on an airplane. Examples of a portable communication device, alsoreferred to herein simply as a “portable device,” include, but are notlimited to, a wireless phone, a laptop, a smartphone, a personal digitalassistant, a media player, or any other type of communication devicecapable of being transported by an individual and presenting content,such as by displaying an image and/or playing audio.

The portable device 102 includes a set of one or more speakers 108, amicrophone 110, and a display 112. The speakers 108 can be used forplaying audio associated with a video or music or for playing anotherform of audio. The user 106 can use the microphone 110 to communicatevoice commands to instruct the portable device 102 to, for instance,load a video, play a video, play a song, and the like. The display 112can receive tactile inputs from the user 106 and translate those inputsinto tactile user commands, for instance. For this implementation, aportion of the display 112 includes buttons 114 for receiving tactileinputs.

FIG. 2 shows a block diagram 200 of a portable communication device,which for some embodiments represents the portable device 102. Includedwithin the block diagram 200 are one or more processors 202, a wirelesslocal area network (WLAN) transceiver 204, a cellular transceiver 206,memory 208, input components 210, output components 212, a sensor hub214, and a voice processing module 216, which are all operationallyinterconnected by internal connections 218 such as a bus. A limitednumber of device components 202, 204, 206, 208, 210, 212, 214, 216, and218 are shown at 200 for ease of illustration. Other embodiments mayinclude a lesser or greater number of components in a portablecommunication device. Moreover, other components needed for a commercialembodiment of a portable communication device that incorporates thecomponents 202, 204, 206, 208, 210, 212, 214, 216, 218 shown in thediagram 200 are omitted from FIG. 2 for clarity in describing theenclosed embodiments.

In general, the processor 202 is configured with functionality inaccordance with embodiments of the present disclosure as describedherein with respect to the remaining figures. “Configured,” “adapted,”“operative,” or “capable,” as used herein, means that indicatedcomponents are implemented using one or more hardware elements, such asone or more operatively coupled processing cores, memory elements, andinterfaces, which may or may not be programmed with software and/orfirmware, as the means for the indicated components to implement theirdesired functionality. For an example, the processor 202 can beconfigured through executing algorithms consistent with one or more ofthe methods illustrated by the logical flow diagrams and messagesequence diagrams shown in FIGS. 3, 5, 6, 7, 8, 9, 10, 11, and 12 andthe accompanying description. Such functionality is supported by theother hardware shown in FIG. 2, including the device components 204,206, 208, 210, 212, 214, 216 which are all operatively interconnectedwith the processor 202 by the bus 218.

The processor 202, for instance, includes arithmetic logic and controlcircuitry necessary to perform the digital processing, in whole or inpart, for the portable device 102 to control the sharing, e.g., playing,of selected content between the portable device 102 and one or moreselected target devices, in accordance with described embodiments forthe present teachings. For one embodiment, the processor 202 representsa primary microprocessor, also referred to as a central processing unit(CPU), of the portable device 102. For example, the processor 202 canrepresent an application processor of a tablet. In another embodiment,the processor 202 is an ancillary processor, separate from the CPU,wherein the ancillary processor is dedicated to providing the processingcapability, in whole or in part, needed for the components of theportable device 102 to perform at least some of their intendedfunctionality.

The WLAN transceiver 204 enables the portable device 102 to access theInternet using standards such as Wi-Fi or WiGig. Moreover, the WLANtransceiver 204 enables the portable device 102 to send and receiveradio signals to and from similarly equipped devices using a wirelessdistribution method, such as a spread-spectrum or orthogonalfrequency-division multiplexing (OFDM) method. For some embodiments, theWLAN transceiver 204 uses an Institute of Electrical and ElectronicsEngineering (IEEE) 802.11 (e.g., a, b, g, n, ac, or ad) standard tocommunicate with other devices in the 2.4 GHz, 3.65 GHz, 4.9 GHz, 5 GHz,5.9 GHz, and 60 GHz frequency bands.

The cellular transceiver 206 is configured to conduct cellularcommunications of data over wireless connections using any suitablewireless technology. For example, the cellular transceiver 206 enablesthe portable device 102 to engage in information exchange sessions, suchas calls or message exchange sessions, with other portable devices usingone or more cellular networks. Cellular networks can use any wirelesstechnology that, for example, enables broadband and Internet Protocol(IP) communications including, but not limited to: 3G wirelesstechnologies such as CDMA2000 and Universal Mobile TelecommunicationsSystem (“UMTS”) networks; 4G technologies such as Long-Term Evolution(LTE) and WiMAX; or 5G technologies.

The memory 208 stores electronic data used by the processor 202 inperforming its functionality. For example, the processor 202 can use thememory 208 to store or load files and applications associated withcontrolling the sharing of selected content between the portable device102 and one or more selected target devices. In one embodiment, thememory 208 represents random access memory (RAM). In other embodiments,the memory 208 represents volatile or non-volatile memory. For aparticular embodiment, a portion of the memory 208 is removable. Forexample, the processor 202 can use RAM to cache data while it uses amicro secure digital (microSD) card to store files associated withcontrolling the sharing of selected content between the portable device102 and one or more selected target devices.

The input 210 and output 212 components represent user-interfacecomponents of the portable device 102 configured, for example, to allowthe user 106 to use, program, or otherwise interact with the portabledevice 102. Different embodiments of portable devices can includedifferent combinations of input 210 and output 212 components. For oneembodiment, the input 210 and output 212 components include atouchscreen that functions as both an input component and an outputcomponent. For example, a touchscreen enables the user 106 to see, forinstance on the display 112, displayed view elements, such as thebuttons 114, for a mobile application and to actuate the view elementsby tapping on them.

For other embodiments, the input components 210 include peripheraldevices, such as keyboards, mice, and touchpads. A speaker, for instanceas included in the set of speakers 108, is an example of an outputcomponent 212 that converts electrical audio signals into sound. For oneexample, a speaker enables the portable device 102 to verbally prompt auser for input. Particular embodiments include an acoustic transducer,such as the microphone 110, as an input component 210 that convertsreceived sounds, such as one or more utterances 118, into electricalsignals that can be stored and processed by the voice processing module216 in order to detect voice commands.

The sensor hub 214 includes one or a combination of a gyroscope 220, anaccelerometer 222, a compass 224, and an infrared detector 226. In aparticular example, one or more of the gyroscope 220, the accelerometer222, the compass 224, or the infrared detector 226 is configured todetect a spatial gesture 120 from the user 106 moving the portabledevice 102. These are example sensors. Accordingly, the sensor hub 214can include one or more additional or alternative sensors, not shown,such as a camera to detect spatial gestures.

The gyroscope 220 is adapted to measure angular acceleration of theportable device 102 around three orthogonal axes, e.g., x, y, and zaxes, with respect to yaw, pitch and roll. In one instance, theaccelerometer 222 is configured to sense a rate of change in velocityalong the x, y, and z axes. The accelerometer 222 may include a weightattached to a lever arm to record movement along the x, y, and z axesaccording to measureable responses of the lever arm to movement of theportable device 102. This type of accelerometer generates x, y, and zvalues while experiencing non-constant movement. Alternatively oradditionally, the accelerometer 222 is configured to generate the x, y,and z values when experiencing constant motion. However, for simplicity,the present teachings are described predominately without regard to theuse of a constant-motion detecting accelerometer.

The compass 224 is configured to determine the direction of magneticnorth and bearings therefrom. For example, the compass 224 provides ageneral cardinal direction, e.g., north, south, east, or west, in whichthe portable device 102 is pointing. The infrared detector 226 is atransducer of radiant energy that converts radiant energy in theinfrared spectrum into a measureable form. The infrared detector 226reacts to infrared radiation.

The voice processing module 216 is configured to receive voiceutterances or speech 118 and recognize, store, and forward voiceprocessing samples as well as perform text to speech analysis. Portabledevices that include a microphone might also include the voiceprocessing module 216, which, in an embodiment, includes hardware andsoftware elements needed to process voice data by recognizing words.Processing voice data includes identifying voice commands from speech118. This type of processing is used, for example, when one wishes togive a verbal instruction or command to control the playing or displayof content.

For different embodiments, the voice processing module 216 can include asingle or multiple voice processing engines of varying types, each ofwhich is best suited for a particular task or set of conditions, such asfor specific characteristics of a voice or noise conditions. The voiceprocessing module 216 might also include a voice activity detector(VAD), which allows the portable device 102 to, for instance,discriminate between those portions of a received acoustic signal thatinclude speech and those portions that do not.

For some embodiments, for instance as described by reference to theremaining FIGS. 3 through 12, a portable device, such as the portabledevice 102, controls sharing, including playing, of selected contentbetween the portable device 102 and one or more selected target devices,such as the target device 104, in proximity to, in the vicinity of, ornear the portable device 102. The control mechanism, signaling, and/orcommands for causing the sharing of the selected content is initiatedand/or facilitated by a set of one or more non-tactile user commands,such as one or more voice commands and/or spatial gestures, detected bythe portable device 102. Thus, in a sense, the portable device 102 canbe said to function as a voice and/or gesture driven remote control forsharing, and in some instances playing, selected content between theportable device 102 and one or more target devices near the portabledevice 102.

Content is any information that can be sensed by a user. Contentincludes, for example, pictures, video, music or other audio, emails,voicemails, etc. A target device is any device capable of communicatingwith a portable device for sharing and playing selected content. Exampletarget devices include, but are not limited to, a television, a monitor,a speaker, a stereo receiver, a multimedia receiver, a multimedia dock,a video player, a portable device, a personal computer, a laptopcomputer, etc.

For selected content to be shared “between” the portable device and aselected target device, the content or at least an identifier for thecontent is accessible to both the portable device and the selectedtarget device. Sharing selected content between the portable and one ormore selected target devices can include, for example: the portabledevice sending the selected content to or receiving the selected contentfrom the target device over a direct wireless connection; the portabledevice downloading from a server selected content that is accessible toand/or that has been accessed by the target device or the target devicedownloading from the server selected content that is accessible toand/or that has been accessed by the portable device; the portabledevice directing the target device to access selected content that isstored locally in or stored in a cloud accessible to both the portabledevice and the target device, etc.

Sharing selected content between the portable device and a selectedtarget device can further include controlling the playing of theselected content between the portable device and the selected targetdevice. For an example, controlling the playing of the selected contentbetween the portable device and the selected target device includescausing the visual display or audible output of the selected contentfrom one or both of the portable and target devices. For anotherexample, controlling the playing of the selected content between theportable devices and the selected target device includes one devicedirecting, e.g., through protocol commands to, the other device torewind, fast-forward, pause, etc., the content as the content isvisually displayed and/or audibly output.

FIG. 3 illustrates a method 300 for controlling the sharing, for examplecontrolling the playing, of selected content between a portable device,such as the portable device 102, and a selected target device. Theportable device 102 determines 302 a list of one or more target devicesin proximity to the portable device 102. A target device being inproximity to, close to, or near the portable device 102 means that theportable 102 and target devices are within wireless communication rangeas defined by one or more factors.

The factors can include, but need not be limited to: physical distancebetween the portable device 102 and the target device; whether a directwireless connection or link can be established between the portabledevice 102 and the target device; and/or whether the target device canbe sensed by one or more of the sensors 214 of the portable device 102.For a particular example, in proximity means within range for theportable 102 and target devices to communicate over a direct wirelessconnection or link using a wireless peer-to-peer (P2P) technology, suchas Miracast, LTE-Direct, WiFi-Direct, or Bluetooth low-energy (BLE). Adirect wireless connection or link is a wireless connection that enablescommunications between a portable device and one or more target deviceswithout the use of an intermediary device such as a base station oraccess point.

The portable device 102 can use any suitable mechanism or method todetermine the list of target devices in proximity to the portable device102. For one embodiment, as illustrated by reference to FIG. 4, theportable device 102 is located within a location area 408. The portabledevice 102 determines the list of one or more target devices byaccessing a stored list identifying one or more target devices withinthe location area 408. The list can be stored in a network to which theportable device 102 has access and/or stored locally, e.g., within thememory 208, in the portable device 102.

As an example, the location area 408 is a coverage area for a network,such as a Wi-Fi network for a business establishment like a restaurant.When the user 106 walks into the restaurant, the portable device 102receives a transmission, e.g., a broadcast, of a list of monitorsconnected to the network and the capabilities of those monitors. Therestaurant's network stores and wirelessly publishes the list ofmonitors.

Upon receiving the list of monitors, the portable device 102 stores, asthe list of target devices, names and/or addresses of one or more of themonitors from the published list. Each monitor that the portable device102 stores on the list of target devices is communicatively compatiblewith the portable device 102 to enable the sharing of selected contentbetween the portable device 102 and the monitor.

For another example, the portable device 102 maintains within memory 208the list of target devices associated with the location area 408, whichin this case is the list of monitors in the restaurant. Accordingly, atsome future time, when the portable device 102 determines through GPS,or another location mechanism, that the portable device 102 is withinthe restaurant, the portable device 102 can access the list of targetmonitors stored in its memory 208.

For another embodiment, the portable device 102 determines the list oftarget devices by receiving, from one or more proximal devices, atransmission indicating presence of the proximal device and generatesthe list of target devices using the received transmission(s). Aproximal device is a device in proximity to the portable device 102.Presence is a status indicator that conveys capability and/oravailability of the device for communication.

For instance, the user 106 is in his office or a room of his house 408wherein is located a television 404 and a laptop 406. The television 404sends, e.g., broadcasts, a transmission 410, such as a beacon, whichincludes information indicating communication capabilities, a name,and/or an address of the television 404. The fact that the beacon 410 isbeing sent can indicate availability of the television 404 forcommunications with another device. The beacon 410 can be sent using anysuitable protocol or mechanism including, but not limited to, Wi-Fi,Bluetooth, infrared, near field communications (NFC), etc. Likewise, thelaptop 406 sends a transmission 414, such as a beacon, which includesinformation indicating communication capabilities, a name, and/or anaddress of the laptop 406.

Upon receiving the transmissions 410, 414, the portable device 102 usesthe information contained therein to determine that both devices 404 and406 can serve as target devices. The portable device 102, thereby,stores a list 412 that includes the television 404 and the laptop 406 astarget devices. This second embodiment of receiving transmissions fromproximal devices and creating the list of target devices therefrom canbe used in other implementation scenarios.

For a particular example scenario, the user 106 is in the restaurantwith the multiple networked monitors. In this scenario, instead of thenetwork publishing the list of monitors, each monitor implements aprotocol or application, such as the Miracast standard, to broadcast abeacon that indicates the device's communication capabilities andaddress. Other information can be published such as the device name andlocation. The portable device 102 uses the information in these beaconsto populate the list of target devices. For another example scenario,the user 106 boards an airplane or bus that has the monitor 104 in theseat 116. The monitor 104 broadcasts a beacon that is detected by theportable device 102 when the portable device is within communicationrange of the monitor 104. The portable device 102 uses informationwithin the beacon to add the monitor 104 to a list of target devices orto create a list of target devices.

Returning to the method 300 of FIG. 3, at a time or during a time frame,the portable device 102 receives 304 a set of one or more non-tactileuser commands that indicates selected content and that indicates aselected set of target devices from the list determined at 302. Anon-tactile user command is a command resulting from a user interactingwith a portable device without touching the portable device, except tophysically move the device in space. Conversely, a tactile user commandis a command resulting from a user touching the portable device, exceptwhen the user physically moves the device in space. For example, theprocessor 202 derives a tactile user command, for the portable device102, from the user 106 touching one or more of the buttons 114 of theportable device 106 or making gestures, e.g., tracing a known path, ontoa touchscreen integrated with the display 112.

The one or more non-tactile user commands that the portable device 102receives 304 can include or be derived from a voice command, a spatialgesture, or a combination of one or more voice commands and spatialgestures. A voice command is a command derived from a user's utteranceor speech, e.g., 118, received as input into the portable device 102.For example, the microphone 110 receives speech 118, which is providedto the voice processing module 216. The voice processing module 216performs a speech-to-text analysis on the speech 118 and detects a voicecommand to “wake up” the portable device 102. The voice processingmodule 216 can then initiate a procedure to wake up the portable devicesuch as by causing a main processor 202 and/or a display 112 to awakenfrom a low-power state to a high-power state.

A spatial gesture is a physical movement, e.g., 120, of the portabledevice 102 in space, which can be sensed for instance by the sensor hub214, wherein the movement is associated with and defines a particularnon-tactile user command to the portable device 102. For example, theuser 106 shakes or waves the portable device 102 as indicated by 120 ofFIG. 1. Movements of the portable device 102 along the x, y, and z axisare detectible by one or more of the sensors of the sensor hub 214 andcan be translated, for instance by the processor 202, as a particularspatial gesture that provides a non-tactile user command to the portabledevice 102. For instance, the sensors 214 detect that portable device102 was flipped from face-down to face-up, and the processor 202translates that motion into a non-tactile user command to “wake up” theportable device 102.

For another example, the user 106 makes, with a hand or one or morefingers, gestures or motions in the vicinity of the portable device 102without physically touching the portable device 102. The sensors of thesensor hub 214, such as one or more infrared detectors 226 or cameras(not shown), detect the user's motions or gestures, which the processor202 translates into a non-tactile user command to the portable device102 to perform an action. For instance, the user 106 waving a palm overthe display 112 from the bottom to the top of the portable device 102,without touching the portable device 102, corresponds to a non-tactileuser command to “wake-up” the portable device 102.

As mentioned earlier, the portable device 102 can receive 304 as the setof one or more non-tactile user commands, a voice command, a spatialgesture, or a combination of both, which indicates selected content anda selected set of one or more target devices from a list of targetdevices. For one scenario, the portable device 102 receives or detects304 a voice command, which indicates both the selected content and theselected one or more target devices from the list. For instance, theuser 106 is within location area 408, which in this scenario is a livingroom, and the portable device 102 has generated and stored the list 412of target devices that includes the television 404 and the laptop 406.While in the living room 408, the user speaks 118 the words “streammovie ‘abc’ to the living room television.” Upon receiving the speech118 into the microphone 110, the portable device 102 launches the voiceprocessing module 216, which identifies the utterance 118 as speech,using the VAD, and converts the speech into a text string. The voiceprocessing module 216 identifies the text string as a non-tactile usercommand “stream” that indicates selected content “movie ‘abc’” and aselected target device “television 404” from the list 412 of targetdevices.

For another scenario, the portable device 102 receives or detects 304 acombination of a voice command and a spatial gesture, which indicatesthe selected content and the selected one or more target devices fromthe list. For instance, while the user is in the living room 408, theuser speaks 118 the words “stream movie ‘abc’” and then points theportable device 102 toward the television 404. As before, upon receivingthe speech 118 into the microphone 110, the portable device 102 launchesthe voice processing module 216, which identifies the utterance 118 asspeech, using the VAD, and converts the speech into a text string. Thevoice processing module 216 identifies the text string as a non-tactileuser command “stream” that indicates selected content “movie ‘abc.’”However, in this scenario, the portable device 102 identifies thetelevision 404 as the selected target device by detecting the gesture ormovement 120 associated with the user 106 pointing toward the television404.

To aid the portable device 102 in identifying the selected target device404 from the user's gesture, for an embodiment, the portable device 102performs a method 500 illustrated in FIG. 5. Namely, the portable device102 creates 502 a spatial map of relative location and orientationbetween the portable device 102 and each target device 404, 406 on thelist 412 of target devices. For instance, when or after the portabledevice 102 determines or generates 302 the list 412 of target devices,the portable device 102 creates a spatial map of relative location andorientation between the portable device 102 and each of the television404 and the laptop 406.

For an example, the portable device 102 receives location coordinates orother location data and orientation information or data from thetelevision 404 and the laptop 406. Such data can be received with orseparately from the capability information and address informationreceived for the device 404 and 406 and used to determine the list 412of target devices. Such data can, alternatively, be known a priori, suchas when a target device has a fixed location. Moreover, the portabledevice 102 determines its own location coordinates or other locationdata and its orientation information or data.

The portable device 102 applies a suitable algorithm to the location andorientation data to, for instance, determine distance between theportable device 102 and each device 404 and 406 and from the distanceand orientation data to determine relative location and orientation toeach of the devices 404 and 406 to generate or populate the spatial map.For a particular implementation, the relative location and orientationbetween the portable device 102 and a target device is represented as avector having direction and magnitude, referred to herein as a targetvector. For this example, the spatial map would contain two targetvectors, one associated with the target device 404 and one associatedwith the target device 406.

The portable device 102 and/or the target devices 404, 406 can determinedevice location using one or more techniques and/or hardware elementsincluding, but not limited to, GPS, cellular network triangulation,beacon triangulation, trilateration, wireless network mapping,ultrasonic location, image-based location, etc. The portable device 102and/or the target devices 404, 406 can determine device orientationusing one or more techniques and/or hardware elements including, but notlimited to, a compass to determine cardinal direction, an accelerometerto determine up/down or gravity, a gyroscope, an IR array, ultrasonicorientation, imaged-based orientation, magnetic tracking, etc.

The portable device 102, at block 504, detects a spatial gesture, forinstance by detecting, using one or more of the sensors 214, movement120 resulting from the user 106 pointing the portable device 102. Theportable device 102 determines 506 a vector, referred to herein as alocation vector, based on the spatial gesture. For example, when theportable device 102 determines the selected content from the voicecommand but is unable to determine one or more selected target devicesfrom the voice command, this can trigger the portable device 102 tomonitor for a spatial gesture. The portable device 102 determines 504that the movement 120 received close in time, e.g., within a thresholdtime frame, from the voice command is the relevant spatial gesture.

At the conclusion of the movement 120, the portable device 102determines 506 a location vector based on the spatial gesture. Forinstance, the portable device 102 determines its location andorientation and determines a location vector that represents thislocation and orientation. In one example, the location vector has anorientation that projects from the portable device 102 in the directionof the spatial gesture at a predetermined distance. The predetermineddistance can be based on the size of the living room 408. The portabledevice 102 compares the location vector to the target vectors fordevices 404 and 406 contained in the spatial map and selects 508 thetelevision 404 as the target device. Selecting the television 404results from determining that the target vector for the television 404is closest in direction to the location vector. In this manner, theportable device 102 selects 508 a target device, wherein the selectedtarget device has a closest location to the location vector based on thespatial map.

For another scenario, the set of non-tactile user commands, which theportable device 102 receives at block 306 of the method 300, resultsfrom a dialog exchange between the portable device 102 and the user 106of the portable device 102. A dialog exchange involves the portabledevice 102 receiving speech 118 into the microphone 110 with at leastsome part of the speech 118 resulting from a prompt output by theportable device 102. The prompt can be, for instance, an audio promptoutput by the speakers 108, a visual prompt output on the display 112,or a combination thereof.

For example, while the user 106 is in the living room 408, the user 106speaks 118 the words “stream movie ‘abc.’” The potable device 102 usesthe voice processing module 216 to convert the voice 118 to text anddetermine, therefrom, the non-tactile user command “stream” and theselected content “movie ‘abc,’” which was indicated. Upon not detectinga further non-tactile user command, either a voice command or a spatialgesture, after a predetermined amount of time, the portable device 102outputs a prompt “stream movie ‘abc’ to which device” using the speaker108, the display 112, or both. The user 106 can respond using a voicecommand or a gesture or both, indicating whether to stream movie ‘abc’to the television 404 or the laptop 406, for detection by the portabledevice 102 as a non-tactile user command indicating the selected targetdevice.

For other examples, the dialog exchange includes multiple prompts by theportable device 102. For instance, in response to the prompt “streammovie ‘abc’ to which device,” the user 106 points the portable device102 toward the television 404. The portable device 102 could output aconfirmation prompt “you want to stream movie ‘abc’ to the television,”to which the user 106 could verbally reply “yes.” Alternatively, inresponse to the prompt “stream movie ‘abc’ to which device,” the user106 could say “the television.” In this instance, likewise, the portabledevice 102 could output a confirmation prompt “you want to stream movie‘abc’ to the television,” to which the user 106 could verbally reply“yes.”

After determining the selected content and the selected set of targetdevices, the portable device 102 controls 308 the sharing, e.g., theplaying, of the selected content between the portable device 102 and theselected set of target devices. Some examples of controlling the sharingof the selected content between the portable device 102 and a selectedtarget device are illustrated by reference to FIGS. 6 to 12, which aredescribed in detail later.

For another embodiment, the portable device 102 triggers 306 a start ofa control session for controlling the sharing of the selected contentbetween the portable device 102 and the selected set of target devices.A “control session” represents a period of time having definitebeginning and end times, within which the portable device 102 monitorsfor non-tactile user commands to control the sharing of the selectedcontent between the portable device 102 and the selected set of targetdevices. For particular embodiments, the start of the control session istriggered using the set of non-tactile user commands that indicates theselected content and selected set of target devices, a set of one ormore tactile user commands, or both.

For example, before speaking the non-tactile user command that indicatesthe selected content, the user speaks a trigger phrase that triggers theportable device 102 to start a control session to monitor for the set ofnon-tactile user commands to control the sharing of selected contentbetween the portable device 102 and a set of selected target devices.For one implementation, the user 106 says “start Moto play, stream movie‘abc.’” Upon generating the text string “start Moto play, stream movie‘abc,’” the voice processing module 216 interprets the text string“start Moto play” as a trigger phrase to start a control session tomonitor for non-tactile user commands to control the sharing of selectedcontent between the portable device 102 and a set of selected targetdevices.

For another example, before speaking the phrase “stream movie ‘abc,’”the user 106 presses a certain button or icon or series of buttons oricons on the portable device 102, which the portable device 102 detectsas the trigger to start a control session to monitor for non-tactileuser commands to control the sharing of selected content between theportable device 102 and a set of selected target devices. For yetanother example, before speaking the phrase “stream movie ‘abc,’” theuser 106 moves the portable device 102 in a certain manner, which theportable device 102 detects as the trigger to start the control sessionto monitor for non-tactile user commands to control the sharing ofselected content between the portable device 102 and a set of selectedtarget devices.

The control session for controlling the sharing of selected contentbetween the portable device 102 and a set of selected target devicescontinues until the portable device 102 receives 310 a trigger to endthe control session, whereupon the portable device 102 ends 320 thecontrol session. For one particular embodiment, the portable device 102detects 318 an explicit command as the received 310 trigger to end 320the control session. For one example, the portable device 102 detects avoice command, such as the words “stop Moto play” spoken by the user106, as the explicit command to end the control session. For anotherexample, the portable device 102 detects a gesture, such as a movementof the portable device 102 or of the user's hand over the device 102, asthe explicit command to end the control session. For yet anotherexample, the portable device 102 detects a tactile user input, such asthe depression of a certain button or icon, as the explicit command toend the control session.

For some embodiments, the portable device 102 detects 310 an implicittrigger to end the control session. For one example, the portable device102 detects 312 that the selected content is playing on the portablecommunication device; and this detection serves as the trigger to end320 the control session. For one use case, the portable device 102receives 304 a non-tactile user command that triggers 306 the start of acontrol session for controlling 308 the playing of a selected moviebetween the portable device 102 and the television 404, which is theselected target device. In this use case, the non-tactile user commandis for streaming a selected movie on the portable device 102 that wasstreaming on the television 404. Accordingly, when the portable device102 detects that the movie is streaming on the portable device 102, theportable device 102 ends 320 the control session.

For another example, the portable device 102 detects 314 a command to afirst target device to play the selected content; and this detectionserves as the trigger to end 320 the control session. For instance, asbefore, the portable device 102 receives 304 a non-tactile user commandthat triggers 306 the start of a control session for controlling 308 theplaying of a selected movie between the portable device 102 and thetelevision 404, which is the selected target device. This time, thenon-tactile user command is for streaming a selected movie on thetelevision 404 that was streaming on the portable device 102.Accordingly, when the portable device 102 detects the sending of aninstruction or command from the portable device 102 to the television404 to stream the selected movie, the portable device 102 ends 320 thecontrol session.

For another example, the portable device 102 detects 316 an elapse of afirst amount of time without receiving an additional non-tactile usercommand; and this detection serves as the trigger to end 320 the controlsession. This example implementation enables the receipt of multiplenon-tactile user commands, for instance associated with the playing of aparticular selected content. Take the use case of where the portabledevice 102 receives 304 a non-tactile user command that triggers 306 thestart of a control session for controlling 308 the streaming of aselected movie on the television 404 that was streaming on the portabledevice 102. Once the portable device 102 starts the control session andinstructs the television 404 to stream the movie, the portable device102 can set a timer for a predetermined or programmed time period andmonitor for additional non-tactile user commands. The non-tactile usercommands could be or result from a voice command, a spatial gesture, ora combination thereof, which commands the portable device 102 to director instruct the television 404 to stop, rewind, fast forward, or pause,the content. When no additional non-tactile user command is receivedbefore the expiration of the timer or within a time period determined bythe timer, the portable device 102 ends 320 the control session.

As mentioned earlier, some examples of controlling the sharing of theselected content between the portable device 102 and at least oneselected target device are illustrated by reference to FIGS. 6 to 12.More particularly, these figures each illustrate an example messagesequence diagram, 600, 700, 800, 900, 1000, 1100, and 1200,respectively, showing signaling between multiple devices andfunctionality at one or more of the devices to control the sharing ofselected content between the portable device 102 and at least oneselected target device. For one embodiment, the signaling to establishwireless links and the signaling to send messages between the devicescarrying control instructions and data is performed using the Miracaststandard. However, in other embodiments, one or more different standardprotocols, such as LTE-Direct, WiFi-Direct, BLE, NFC, Wi-Fi, etc., orproprietary protocols can be used in addition to or alternative to theMiracast standard to perform the requisite signaling of FIGS. 6 to 12.

FIG. 6 illustrates an embodiment wherein controlling the playing of theselected content between the portable device 102 and the selected set oftarget devices includes the portable device 102 sending, over a directwireless link to a first target device of the selected set of targetdevices, the selected content for playing on the first target device.For example, the user 106 walks into a restaurant having multiplemonitors and desires to play selected content on a target monitor 602 ofthe multiple monitors, wherein the portable device 102 provides theselected content. FIG. 6, thereby, shows a message sequence diagram 600illustrating example signaling between the portable device 102 and theselected target monitor 602 for controlling the playing of the selectedcontent between the portable device 102 and the target monitor 602.

The portable device 102 receives 610 a non-tactile user command from theuser 106 indicating a selected video and the selected target monitor602. The selected video can be video that is playing 608 on the portabledevice 102, such as video stored locally in the memory 208 of theportable device 102. The portable device 102 and the selected targetmonitor 602 exchange signaling 612 to establish a direct wireless link,wherein the particular signaling depends on the protocol used toestablish the direct link. Once the link is established, the portabledevice 102 sends 614 the selected video over the direct wireless linkand also provides 616 control signaling, consistent with the protocolused, to direct the target monitor 602 to play the video. Responsively,the target monitor 602 plays 618 the selected video.

FIG. 7 illustrates an embodiment wherein controlling the playing of theselected content between the portable device 102 and the selected set oftarget devices includes the portable device 102 receiving, over a directwireless link to a first target device of the selected set of targetdevices, the selected content for playing on the portable device 102.For example, the user 106 is in her office watching content playing 708on a laptop 702. The user 106 wants to leave the office but continuewatching the content on her portable device 102. FIG. 7, thereby, showsa message sequence diagram 700 illustrating example signaling betweenthe portable device 102 and the selected target laptop 702 forcontrolling the playing of the selected content between the portabledevice 102 and the target laptop 702.

The portable device 102 receives 710 a non-tactile user command from theuser 106 indicating a selected video and the selected target laptop 702.The selected video can be video that is stored locally in the memory ofthe target laptop. The portable device 102 and the selected targetlaptop 702 exchange signaling 712 to establish a direct wireless link,wherein the particular signaling depends on the protocol used toestablish the direct link. Once the link is established, the portabledevice 102 sends 718 control signaling, consistent with the protocolused, to direct or request the target laptop 702 to send the selectedvideo to the portable device 102. Responsively, the target laptop 702sends 714 the selected video to the portable device 102 over theestablished link, and the portable device 102 plays 716 the video.

FIG. 8 illustrates an embodiment wherein controlling the playing of theselected content between the portable device 102 and the selected set oftarget devices includes the portable device 102 directing a first targetdevice of the selected set of target devices to download from a serverthe selected content, which is also accessible to the portable device102, for playing on the first target device. For example, the user 106walks into a restaurant having multiple monitors and desires to playselected content on a target monitor 802 of the multiple monitors,wherein the portable device 102 is streaming 810 the selected content.FIG. 8, thereby, shows a message sequence diagram 800 illustratingexample signaling between the portable device 102 and the selectedtarget monitor 802 for controlling the playing of the selected contentbetween the portable device 102 and the target monitor 802.

The portable device 102 receives 812 a non-tactile user command from theuser 106 indicating selected video and the selected target monitor 802.The selected video can be video that is streaming 810 on the portabledevice 102 from a server 806. The portable device 102 and the selectedtarget monitor 802 exchange signaling 824 to establish a direct wirelesslink, wherein the particular signaling depends on the protocol used toestablish the direct link. Once the wireless link is established, theportable device 102 provides 814 control signaling, consistent with theprotocol used, to direct the target monitor 802 to stream the selectedvideo from the server 806. The control signaling identifies the targetvideo via a link or other identifier and identifies the server 806 usingan address or other identifier.

Responsively, the target monitor 802 requests 822 and receives 816 thevideo stream from the server 806. For one implementation, the targetmonitor 802 plays 820 the video, without any further instruction, uponreceiving 816 the video stream from the server 806. Alternatively, theportable device 102 provides 818 control signaling to the target monitor802 to play the video, to which the target monitor 802 responsivelyplays 820 the video stream from the server 806. Video streaming can beperformed using any suitable protocol including, but not limited to,MP3, MP4, H.264, HEVC, WebM, etc. for audio and video stream encodingand decoding, and Real-time Streaming Protocol (RTSP), Real-timeTransport Protocol (RTP), Real-time Transport Control Protocol (RTCP),etc., for streaming the content over a network.

FIG. 9 illustrates an embodiment wherein controlling the playing of theselected content between the portable device 102 and the selected set oftarget devices includes the portable device 102 directing a server tosend to the portable device 102 the selected content, which is alsoaccessible to a first target device of the selected set of targetdevices, for playing on the portable device 102. For example, the user106 is in her office watching content streaming 910 to a laptop 902. Theuser 106 wants to leave the office but continue the streaming thecontent, but to her portable device 102. FIG. 9, thereby, shows amessage sequence diagram 900 illustrating example signaling between theportable device 102 and the selected target laptop 902 for controllingthe playing of the selected content between the portable device 102 andthe target laptop 902.

The portable device 102 receives 912 a non-tactile user command from theuser 106 indicating the selected target laptop 902 and the selectedvideo streaming on the laptop 902 from a server 906. The portable device102 and the selected target laptop 902 exchange signaling 904 toestablish a direct wireless link and for the portable device 102 toobtain, from the laptop 902, a link or other identifier for the videostream and an address or other identifier for the server 906. Theparticular signaling depends on the protocol used to establish thedirect link and to exchange information using the link. Once the link isestablished, the portable device 102 requests 914 and receives 916 theselected video stream, which the portable device 102 plays 918. Videostreaming can be performed using any suitable protocol including, butnot limited to, MP3, MP4, H.264, HEVC, WebM, etc. for audio and videostream encoding and decoding, and RTSP, RTP, RTCP, etc., for streamingthe content over a network.

FIG. 10 illustrates an embodiment wherein controlling the playing of theselected content between the portable device 102 and the selected set oftarget devices includes the portable device 102 causing selected audioaccessible to the portable device 102 to play on an external speaker ofthe selected set of target devices. For example, the user 106 has audio,such as songs, on the portable device 102 and desires to play selectedaudio on a selected target external speaker 1006, wherein the portabledevice 102 provides the selected audio. FIG. 10, thereby, shows amessage sequence diagram 1000 illustrating example signaling between theportable device 102 and the selected target external speaker 1006 forcontrolling the playing of the selected content between the portabledevice 102 and the target external speaker 1006.

The portable device 102 receives 1010 a non-tactile user command fromthe user 106 indicating selected audio and the selected target speaker1006. The selected audio can be audio that is playing 1008 on thespeakers 108 of the portable device 102, such as audio stored locally inthe memory 208 of the portable device 102. The portable device 102 andthe selected target speaker 1006 exchange signaling 1012 to establish adirect wireless link, wherein the particular signaling depends on theprotocol used to establish the direct link. Once the link isestablished, the portable device 102 sends 1014 the selected audio overthe direct wireless link and also provides 1016 control signaling,consistent with the protocol used, to direct the target speaker 1006 toplay the audio. Responsively, the target speaker 1006 plays 1018 theselected audio.

FIG. 11 illustrates an embodiment wherein controlling the playing of theselected content between the portable device 102 and the selected set oftarget devices includes the portable device 102 directing a first targetdevice of the selected set of target devices to play the selectedcontent, which is stored on the first target device and the portabledevice 102. For example, the user 106 walks into her office where hislaptop 1106 is located and desires to watch video on the laptop 1106.FIG. 11, thereby, shows a message sequence diagram 1100 illustratingexample signaling between the portable device 102 and the selectedtarget laptop 1106 for controlling the playing of the selected videobetween the portable device 102 and the target laptop 1106.

The portable device 102 receives 1110 a non-tactile user command fromthe user 106 indicating a selected video and the selected target laptop1106. The selected video can be video that is playing 1108 on theportable device 102, such as video stored locally in the memory 208 ofthe portable device 102 or video stored in the cloud. The portabledevice 102 and the target laptop 1106 exchange signaling 1112 toestablish a direct wireless link, wherein the particular signalingdepends on the protocol used to establish the direct link. Once the linkis established, the portable device 102 provides 1114 control signalingto the target laptop 1106, over the direct link, to download and playthe selected video. Responsively, the target laptop 1106 downloads theselected video from local storage or from the cloud and plays 1116 theselected video.

FIG. 12 illustrates an embodiment wherein controlling the playing of theselected content between the portable device 102 and the selected set oftarget devices includes the portable device 102 broadcasting theselected content to multiple target devices of the selected set oftarget devices. Herein, broadcasting means making content available forreceipt by multiple devices. For example, a teacher 106 wants to sendselected content to target devices 1206, 1208 of two students seated inhis classroom. FIG. 12, thereby, shows a message sequence diagram 1200illustrating example signaling between the portable device 102 and theselected target devices 1206, 1208 for controlling the playing of theselected content between the portable device 102 and the target devices1206, 1208.

The portable device 102 receives 1212 a non-tactile user command fromthe user 106 indicating selected content and the selected target devices1206, 1208. The selected content can be video or audio that is playing1210 on the portable device 102, such as video or audio stored locallyin the memory 208 of the portable device 102. The portable device 102and the target devices 1206, 1208, exchange signaling 1214 and 1216,respectively, to establish a direct wireless link, wherein theparticular signaling depends on the protocol used to establish thedirect link. Once the link is established, the portable device 102broadcasts 1218, 1220 the selected content over the direct wireless linkand also provides control signaling, consistent with the protocol used,to direct the target devices 1206, 1208 to play the content.Responsively, the target devices 1206, 1208, respectively, play 1222,1224 the selected content.

In the foregoing specification, specific embodiments have beendescribed. However, one of ordinary skill in the art appreciates thatvarious modifications and changes can be made without departing from thescope of the invention as set forth in the claims below. Accordingly,the specification and figures are to be regarded in an illustrativerather than a restrictive sense, and all such modifications are intendedto be included within the scope of present teachings.

The benefits, advantages, solutions to problems, and any element(s) thatmay cause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as a critical, required, or essentialfeatures or elements of any or all the claims. The invention is definedsolely by the appended claims including any amendments made during thependency of this application and all equivalents of those claims asissued.

Moreover in this document, relational terms such as first and second,top and bottom, and the like may be used solely to distinguish oneentity or action from another entity or action without necessarilyrequiring or implying any actual such relationship or order between suchentities or actions. The terms “comprises,” “comprising,” “has,”“having,” “includes,” “including,” “contains,” “containing” or any othervariation thereof, are intended to cover a non-exclusive inclusion, suchthat a process, method, article, or apparatus that comprises, has,includes, contains a list of elements does not include only thoseelements but may include other elements not expressly listed or inherentto such process, method, article, or apparatus.

An element proceeded by “comprises . . . a,” “has . . . a,” “includes .. . a,” or “contains . . . a” does not, without more constraints,preclude the existence of additional identical elements in the process,method, article, or apparatus that comprises, has, includes, containsthe element. The terms “a” and “an” are defined as one or more unlessexplicitly stated otherwise herein. The terms “substantially,”“essentially,” “approximately,” “about” or any other version thereof,are defined as being close to as understood by one of ordinary skill inthe art, and in one non-limiting embodiment the term is defined to bewithin 10%, in another embodiment within 5%, in another embodimentwithin 1% and in another embodiment within 0.5%.

A device or structure that is “configured” in a certain way isconfigured in at least that way, but may also be configured in ways thatare not listed. As used herein, the terms “configured to”, “configuredwith”, “arranged to”, “arranged with”, “capable of” and any like orsimilar terms mean that hardware elements of the device or structure areat least physically arranged, connected, and or coupled to enable thedevice or structure to function as intended.

The Abstract of the Disclosure is provided to allow the reader toquickly ascertain the nature of the technical disclosure. It issubmitted with the understanding that it will not be used to interpretor limit the scope or meaning of the claims. In addition, in theforegoing Detailed Description, it can be seen that various features aregrouped together in various embodiments for the purpose of streamliningthe disclosure. This method of disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter lies in less than allfeatures of a single disclosed embodiment. Thus the following claims arehereby incorporated into the Detailed Description, with each claimstanding on its own as a separately claimed subject matter.

What is claimed is:
 1. A method performed by a portable communicationdevice, the method comprising: determining a list of at least one targetdevice in proximity to the portable communication device; receiving aset of non-tactile user commands that indicates selected content and aselected set of target devices on the list; controlling sharing of theselected content between the portable communication device and theselected set of target devices.
 2. The method of claim 1 wherein the setof non-tactile user commands comprises a voice command.
 3. The method ofclaim 1, wherein the set of non-tactile user commands comprises aspatial gesture.
 4. The method of claim 1, wherein controlling thesharing of the selected content between the portable communicationdevice and the selected set of target devices comprises controlling theplaying of the selected content between the portable communicationdevice and the selected set of target devices.
 5. The method of claim of4, wherein controlling the playing of the selected content between theportable communication device and the selected set of target devicescomprises the portable communication device sending, over a directwireless link to a first target device of the selected set of targetdevices, the selected content for playing on the first target device. 6.The method of claim of 4, wherein controlling the playing of theselected content between the portable communication device and theselected set of target devices comprises the portable communicationdevice receiving, over a direct wireless link to a first target deviceof the selected set of target devices, the selected content for playingon the portable communication device.
 7. The method of claim of 4,wherein controlling the playing of the selected content between theportable communication device and the selected set of target devicescomprises the portable communication device directing a first targetdevice of the selected set of target devices to download from a serverthe selected content, which is also accessible to the portablecommunication device, for playing on the first target device.
 8. Themethod of claim of 4, wherein controlling the playing of the selectedcontent between the portable communication device and the selected setof target devices comprises the portable communication device directinga server to send to the portable communication device the selectedcontent, which is also accessible to a first target device of theselected set of target devices, for playing on the portablecommunication device.
 9. The method of claim 4, wherein controlling theplaying of the selected content between the portable communicationdevice and the selected set of target devices comprises the portablecommunication device causing selected audio accessible to the portablecommunication device to play on an external speaker of the selected setof target devices.
 10. The method of claim 4, wherein controlling theplaying of the selected content between the portable communicationdevice and the selected set of target devices comprises the portablecommunication device directing a first target device of the selected setof target devices to play the selected content, which is stored on thefirst target device and the portable communication device.
 11. Themethod of claim 4, wherein controlling the playing of the selectedcontent between the portable communication device and the selected setof target devices comprises the portable communication devicebroadcasting the selected content to multiple target devices of theselected set of target devices.
 12. The method of claim 1 furthercomprising triggering a start of a control session for controlling thesharing of the selected content between the portable communicationdevice and the selected set of target devices.
 13. The method of claim12, wherein the triggering is performed using the set of non-tactileuser commands, a set of tactile user commands, or both.
 14. The methodof claim 12 further comprising ending the control session upon receivinga trigger comprising one or more of: detecting that the selected contentis playing on the portable communication device; detecting a command toa first target device to play the selected content; detecting an elapseof a first amount of time without receiving an additional non-tactileuser command; or detecting an explicit command to end the controlsession.
 15. The method of claim 1, wherein the portable communicationdevice is located within a first location area, and wherein determiningthe list of at least one target device comprises accessing a stored listidentifying one or more target devices within the first location area.16. The method of claim 1, wherein determining the list of at least onetarget device comprises: receiving, from a proximal device, atransmission indicating presence of the proximal device; generating thelist using the received transmission.
 17. The method of claim 1, whereinthe set of non-tactile user commands results from a dialog exchangebetween the portable communication device and a user of the portablecommunication device.
 18. The method of claim 1 further comprisingcreating a spatial map of relative location and orientation between theportable communication device and each target device on the list. 19.The method of claim 18, wherein the set of non-tactile user commandscomprises a spatial gesture, the method further comprising: determininga location vector based on the spatial gesture; selecting a first targetdevice having a closest location to the location vector, based on thespatial map.
 20. A portable communication device comprising: an inputcomponent and a voice processing module coupled together to receive anutterance and to detect a voice command from the utterance; a sensor hubto detect a spatial gesture; a processor coupled to the voice processingmodule and the sensor hub, the processor to: determine a list of atleast one target device in proximity to the portable communicationdevice; determine, from the voice command, the spatial gesture, or both,selected content and a selected set of target devices on the list;control sharing of the selected content between the portablecommunication device and the selected set of target devices.